// 给定一个非负整数 numRows，生成杨辉三角的前 numRows 行。

const generate = function (numRows: number): number[][] {
    const res: number[][] = []; // 结果数组
    // 总共循环n次
    for (let i = 0; i < numRows; i++) {
        const curr: number[] = [1]; // 第一个位置额外处理一下
        const preRow: number[] = res[res.length - 1]; // 读出上一行的元素
        for (let j = 0; j < i; j++) {
            // 注意最右边界的位置
            if (j === i - 1) {
                curr.push(1);
                break;
            }
            // 该位置等于上行对应位置相加
            curr.push(preRow[j] + preRow[j + 1]);
        }
        res.push(curr);
    }
    return res;
};


// 总体来说比较简单，按照题目意思来翻译即可
// 注意一下每一行最左边和最右边的边界位置即可。